package com.dd.cloud.user.service.plat;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dd.cloud.user.config.TencentImProperties;
import com.dd.cloud.user.entity.plat.PlatformWechatInfo;
import com.dd.cloud.user.req.template.TemplateMessageGzhReq;
import com.dd.cloud.user.req.template.TemplateMessageReq;
import com.dd.cloud.user.res.plat.ShareWechatInfo;
import com.dd.cloud.user.res.plat.TencentImUserSig;

import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 * 第三方登录信息表 服务类
 * </p>
 *
 * @author czg
 * @since 2022-05-06
 */
public interface IPlatformWechatInfoService extends IService<PlatformWechatInfo> {
    /**
     * 微信分享返回的数据
     *
     * @param shareUrl
     * @return
     */
    ShareWechatInfo shareWechatInfo(String shareUrl);


    /**
     * 腾讯云即时通信的参数
     */
    TencentImProperties tencentImSecret();

    /**
     * 腾讯云用户签名
     *
     * @param id
     * @param type
     * @-param consultId
     */
    TencentImUserSig tencentImUserSig(Integer id, Integer type, String medId);

    /**
     * 发送模板
     *
     * @param req
     * @param accessToken
     */
    void sendTemplateMessage(TemplateMessageReq req, String accessToken);

    /**
     * 发送模板
     *
     * @param req
     * @param accessToken
     */
    Boolean sendTemplateMessageGzh(TemplateMessageGzhReq req, String accessToken);

    /**
     * 微信事件回调,并自动回复信息
     */
    String handlePublicMsg(HttpServletRequest request);


    /**
     * 自定义发布菜单
     */
    String wxPublicMenu(HttpServletRequest request, String menuJson);
}
